In systems which require high speed transmission of data between two or more integrated circuit devices, it is common for a timing signal to be transmitted in parallel with the data signal. By this arrangement, sometimes referred to as “source synchronous timing,” the timing and data signals experience similar propagation delays, providing the receiving device with a timing reference having a controlled phase relationship with the data signal. Circuitry within the receiving device samples the incoming data signal at a time determined by the timing signal and its phase relationship with the data signal.
FIGS. 1A and 1B illustrate prior-art memory systems that use variants of source-synchronous timing. In the system of FIG. 1A, a folded clockline 12 is used to carry a clock signal toward a controller 10 on a first segment of the clockline and away from the controller on a second segment of the clockline. The clock signal is generated by a clock generator 18. Each of the memory devices 14 includes a pair of clock inputs coupled respectively to the two segments of the folded clockline. The memory devices transmit information to the controller on a data/control path 16 in a fixed phase relationship with the clock signal as it propagates toward the controller on the first clockline segment, and receive information from the controller via the data/control path according to a fixed phase relationship between the information and the clock signal propagating away from the controller on the second clockline segment. Typically, the controller is coupled to the clockline at the fold so that the timing references that it uses for transmit and receive are in phase. By providing source synchronous timing references in this way, timing skew problems that plague other types of high-speed signaling systems are avoided.
In the memory system of FIG. 1B, the memory devices 20 are coupled to a memory controller 21 via respective data paths 23 and also via respective pairs of strobe paths 24. A clock generator 22 is used to provide a frequency reference to the memory controller and each of the memory devices. In operation, the memory controller asserts a strobe signal on one of the pair strobe paths to provide a timing reference for transmission of data to a memory device, and a memory device asserts a strobe signal on the other of the pair of strobe paths to provide a timing reference for transmission of data to the controller. Typically, strobe signal paths are routed and conditioned to equalize the propagation times between strobe signals and corresponding data transmissions. Consequently, the strobe signals constitute source synchronous timing references that facilitate high-speed signaling without timing skew.
One disadvantage of the prior art systems of FIGS. 1A and 1B is that additional pins are required on the memory controller and slave devices, and additional traces are required on the circuit board to support transmission of the source synchronous timing references. The proliferation of traces is particularly problematic in the system of FIG. 1B, because the number of strobe paths is a multiple of the number of memory devices. Consequently, the routing of timing and data paths in such systems is often complex, involving a dozen or more circuit board layers.
Another disadvantage of the prior art systems of FIGS. 1A and 1B is the additional layout complexity that results from the need to equalize the electrical lengths of the timing and data paths to avoid skew between the timing and data signals. Electrical length equalization is particularly challenging in view of the fact that the data path is typically a multi-conductor path having a higher parasitic capacitance than the timing reference paths. Again, the large number of strobe paths required in the system of FIG. 1B further complicates matters. Numerous passive devices are often used for electrical length equalization in such systems, necessitating additional printed circuit board layers.